home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.A.po / FEATURES:BEAGLE / BEAGLE.BAG.SHK / BEAGLE.BAG / BEAGLE MENU.bas < prev    next >
BASIC Source File  |  2000-01-01  |  8KB  |  88 lines

  1. 57  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>65535  REM<CTRL-M><CTRL-M>==================<CTRL-M>BEAGLE MENU<CTRL-M>BY BERT KERSEY<CTRL-M>COPYRIGHT (C) 1982<CTRL-M>BEAGLE BROS<CTRL-M>SAN DIEGO<CTRL-M>==================<CTRL-J><CTRL-J>
  2. 100 S = 0:B = 0:A = 1:I = 0:T = 0:U = 0
  3. 110  REM ABOVE^LINE^DETERMINES^DISPLAY^OF^SECTORS^AND/OR^BINARY,APPLESOFT,INTEGER,TEXT^OR^UNLOCKED^FILES^(1=YES,0=NO)
  4. 112  POKE 44483,32: POKE 44484,47: POKE 44485,174: POKE 44486,32: POKE 44487,47: POKE 44488,174: IF  PEEK(978) < >157  THEN  PRINT "NOT 48K"; CHR$(7): END 
  5. 115  POKE 49385,0: DIM SC(24):F = 128: FOR X = 1 TO 24: GOSUB 146:SC(X) = SC: NEXT : FOR II = 24576 TO 24831: POKE II,0: NEXT 
  6. 120 LA = 136:RA = 149:Q =  -16384:CL =  -16368:BZ =  -16336:TF = 256:Q$ =  CHR$(34):DD$ =  CHR$(4):UM =  PEEK(175) + PEEK(176) *TF -56:B = 2 *(B = 0):A = (A = 0):I = 9 *(I = 0):T = 4 *(T = 0):A$ = "---------------":L$ = " : ::: ": ONERR  GOTO 830
  7. 140  FOR II = 1 TO 30:L$ = L$ +":": NEXT II: TEXT : NORMAL : PRINT  CHR$(4);"NOMONICO": HOME : VTAB 16: HTAB 8: POKE 32,7: PRINT "BEAGLE MENU": PRINT A$: PRINT "SLOT:   " PEEK(43626): PRINT "DRIVE:  " PEEK(43624): PRINT A$: PRINT "FILES:  0": PRINT "SECTORS:0": PRINT A$: TEXT : GOTO 0160
  8. 145  POKE 60,OS - INT(OS/TF) *TF: POKE 61, INT(OS/TF): POKE 62,OE - INT(OE/TF) *TF: POKE 63, INT(OE/TF): POKE 64,NE - INT(NE/TF) *TF: POKE 65, INT(NE/TF): POKE 66,NS - INT(NS/TF) *TF: POKE 67, INT(NS/TF): CALL UM +49 *(OS >NS): RETURN 
  9. 146 SC = F *X +1 -(984 * INT((X -1)/8)) +895: RETURN 
  10. 160  FOR II = 768 TO 795: READ N: POKE II,N: NEXT : POKE 54,0: POKE 55,3: CALL 1002: DATA 201,141,240,21,234,234,234,234,201,128,144,13,201,160,176,9,72,132,53,56,233,128,76,249,253,76,240,253
  11. 165  FOR II = 800 TO 805: READ J: POKE II,J: NEXT : DATA 32,227,3,76,217,3
  12. 170  POKE 47083,0: POKE 47084,17: POKE 47088,0: POKE 47089,96: POKE 47091,0: POKE 47092,1
  13. 180  FOR SE = 15 TO 1  STEP  -1: POKE 47085,SE: CALL 800: FOR X = 24587 TO 24797  STEP 35:SC =  PEEK(X): IF SC <255  AND SC >0  THEN NF = NF +1:SS = SS + PEEK(X +33): VTAB 21: HTAB 16: PRINT NF: HTAB 16: PRINT SS
  14. 185  IF SC  THEN  NEXT : NEXT 
  15. 200  FOR PG = 1 TO 7:MV(PG) = 16384 +1024 *PG: NEXT 
  16. 210  POKE 44596,234: POKE 44597,234: POKE 44598,234
  17. 220  POKE 44578,96
  18. 230 FLAG = 1: VTAB 1: PRINT DD$"CATALOG": PRINT :FI = 1:FVIS = 1: GOTO 260
  19. 240  IF NF = 1  THEN 390
  20. 250  CALL 44581: PRINT :FI = FI +1:FVIS = FVIS +1
  21. 260  PRINT L$;: HTAB 1:VP =  PEEK(37):SC = 2 *VP -2
  22. 270 SC =  SCRN( 1,2 *VP -2): IF SC = B  OR SC = A  OR SC = I  OR SC = (T)  OR  SCRN( 0,2 *VP -2) = U  THEN  VTAB VP: CALL  -868:FVIS = FVIS -1
  23. 280  IF FLAG  THEN FLAG = 0: GOTO 250
  24. 290  IF FVIS <20  THEN 380
  25. 300  IF   NOT NPG  THEN  VTAB 24: HTAB 1: CALL  -958: PRINT 
  26. 310 F7 = FV:FVIS = 0:NPG = NPG +1
  27. 320  INVERSE : VTAB 1: HTAB 1: PRINT  SPC( 40): VTAB 1: HTAB 2: PRINT "CATALOG PAGE ";NPG
  28. 330  NORMAL : VTAB 23: HTAB 1: PRINT  SPC( 40)"<ARROWS>:SELECT  <RETURN>:RUN   <H>:HEL";: POKE 2039,208
  29. 340  FOR II = 1 TO 2:P =  PEEK(BZ): NEXT : FLASH : HTAB 2: PRINT "ARROWS";: INVERSE : HTAB 19: PRINT "RETURN";: HTAB 34: PRINT "H";: NORMAL 
  30. 350  IF   NOT S  THEN  VTAB 3: FOR P = 3 TO 22: HTAB 4: PRINT "   ": NEXT 
  31. 360 OS = 1024:OE = 2047:NS = MV(NPG):NE = MV(NPG) +1023: GOSUB 145
  32. 370  FOR II = 1 TO 2:P =  PEEK(BZ): NEXT : VTAB 24: HTAB 1: INVERSE : PRINT " STAND BY."; SPC( 29);: POKE 2039,32: NORMAL : VTAB 3: HTAB 1: IF FLAG  THEN 410
  33. 380  IF FI <NF  THEN 250
  34. 390 FLAG = 1: POKE 35,23: CALL  -958: POKE 35,24: IF NPG >0  AND FVIS >0  THEN 310
  35. 400  IF   NOT NPG  THEN  VTAB 24: PRINT : GOTO 300
  36. 410  POKE 888,0
  37. 420 NPG = NPG +(NPG = 0): POKE 44596,206: POKE 44597,157: POKE 44598,179: POKE 44578,32: PRINT : PRINT DD$"PR#0": IF  PEEK(888)  THEN  END 
  38. 430 PG = 1:VP = 3:K = 149: POKE 888,0: IF   NOT F7  THEN  HOME : PRINT  CHR$(7)"NO FILES SELECTED; CHANGE LINE 100:": LIST 100 -110: VTAB 3: PRINT " 100 S =": PRINT : PRINT " 110": VTAB 2: END 
  39. 440  POKE 49385,0: POKE 49384,0:OS = MV(PG):OE = OS +1023:NS = 1024: GOSUB 145:FLAG = 0
  40. 450  INVERSE : VTAB 1: HTAB 17: PRINT "OF ";NPG
  41. 460  GOSUB 640: IF VP <3  OR VP >22  THEN 610
  42. 470  VTAB VP: HTAB 7: INVERSE : PRINT ">": COLOR=  SCRN( 3,2 *VP -1) -8: HLIN 3,5 AT 2 *VP -1: NORMAL : POKE CL,0
  43. 480  IF FLAG  THEN  INVERSE : VTAB 24: HTAB 2: PRINT "ARROWS";: NORMAL 
  44. 490 K =  PEEK(Q):FLAG = 1: IF K <F  THEN 490
  45. 500  POKE CL,0: FOR P = 1 TO 2:X =  PEEK(BZ): NEXT 
  46. 510  VTAB VP: HTAB 7: PRINT  SPC( 1): COLOR=  SCRN( 3,2 *VP -1) +8: HLIN 3,5 AT 2 *VP -1
  47. 512  IF K = RA  OR K = LAR  THEN 600
  48. 530  IF K = 141  OR K = 204  OR K = 210  THEN 670
  49. 540  IF K = 155  OR K = 209  THEN  VTAB 22: PRINT : CALL  -958: END 
  50. 550  IF K = 160  OR K = 208  THEN PG = PG +1 -PG *(PG = NPG):VP = 3: GOTO 440
  51. 560  IF K = 200  OR K = 191  OR K = 175  THEN 740
  52. 570  IF K = 198  OR K = 211  THEN  INVERSE : VTAB 1: HTAB 24: PRINT "FREE SECTORS:";496 -SS: NORMAL : GOTO 470
  53. 580  IF K = 195  THEN  PRINT : HOME : PRINT DD$"CATALOG": GOSUB 820: PRINT "ANY KEY:";: CALL  -756: GOTO 440
  54. 585  IF K = 170  THEN 900
  55. 590  IF K = 177  OR K = 178  THEN K = K -176: POKE 43624,K: POKE 47082,K: RUN 
  56. 595  GOTO 470
  57. 600 VP = VP +(K = RA) -(K = LA): GOSUB 640
  58. 610  IF VP <3  THEN PG = PG -1 +NPG *(PG = 1):VP = 22: GOTO 440
  59. 620  IF VP >23  THEN PG = PG +1 -NPG *(PG = NPG):VP = 3: GOTO 440
  60. 630  GOTO 470
  61. 640  IF K < >149  AND K < >160  THEN K = 136
  62. 645  IF  SCRN( 1,2 *VP -2) = 0  THEN  NORMAL : VTAB VP: HTAB 4: PRINT "--->";:VP = VP +(K = 149  OR K = 160) -(K = 136): IF VP >2  AND VP <24  THEN  HTAB 3: CALL  -868: GOTO 645
  63. 650  RETURN 
  64. 670 SC =  SCRN( 1,2 *VP -2): IF SC = 4  THEN GO$ = "EXEC"
  65. 680  IF SC = 2  THEN GO$ = "BRUN": IF K = 204  THEN GO$ = "BLOAD"
  66. 690  IF SC = 1  OR SC = 9  THEN GO$ = "RUN": IF K = 204  THEN GO$ = "LOAD"
  67. 700 X = VP: GOSUB 146: VTAB VP: HTAB 1: PRINT " "GO$ SPC( 6 - LEN(GO$)): FOR II = 1 TO 24: VTAB II +(II = VP): HTAB 1: CALL  -868: NEXT 
  68. 710 NAME$ = "": FOR X = SC +7 TO SC +36:NAME$ = NAME$ + CHR$( PEEK(X)): NEXT 
  69. 720  VTAB 22: PRINT : CALL  -958: PRINT DD$GO$NAME$: GOTO 440
  70. 740  HOME : INVERSE 
  71. 750  PRINT  SPC( 40): VTAB 1: HTAB 13: PRINT "BEAGLE MENU": GOSUB 820: NORMAL : HTAB 11: PRINT "--> CURSOR DOWN": HTAB 11: PRINT "<-- CURSOR UP": PRINT " SPACE OR [P] PAGE ADVANCE": PRINT 
  72. 755  PRINT "RETURN OR [R] RUN APPLESOFT PROGRAM": HTAB 15: PRINT "RUN INTEGER PROGRAM": HTAB 15: PRINT "BRUN BINARY PROGRAM"
  73. 760  HTAB 15: PRINT "EXEC TEXT FILE": PRINT : HTAB 11: PRINT "[L] LOAD APPLESOFT PROGRAM": HTAB 15: PRINT "LOAD INTEGER PROGRAM": HTAB 15: PRINT "BLOAD BINARY FILE": PRINT 
  74. 770  HTAB 11: PRINT "[1] NEW MENU/DRIVE 1": HTAB 11: PRINT "[2] NEW MENU/DRIVE 2": HTAB 11: PRINT "[C] NORMAL CATALOG": PRINT 
  75. 780  HTAB 4: PRINT "[F] OR [S] FREE SECTORS": HTAB 4: PRINT "[?] OR [H] HELP (THIS PAGE)": HTAB 4: PRINT "ESC OR [Q] QUIT"
  76. 790  GOSUB 820: INVERSE : PRINT  SPC( 39): POKE 2039,32: POKE 1036,2: POKE 1037,5: POKE 1038,1: POKE 1039,7: POKE 1040,12: POKE 1041,5: POKE 1043,13: POKE 1044,5: POKE 1045,14: POKE 1046,21: HTAB 15: PRINT "TO CONTINUE.";
  77. 800  IF  PEEK(Q) < >160  THEN  HTAB 9: PRINT "     ";: FOR II = 1 TO 444: NEXT : IF  PEEK(Q) < >160  THEN  HTAB 9: PRINT "SPACE";: FOR II = 1 TO 444: NEXT : IF  PEEK(Q) < >160  THEN 800
  78. 810  POKE CL,0: GOTO 440
  79. 820  NORMAL : FOR X = 1 TO 40: PRINT "-";: NEXT : RETURN 
  80. 830 J =  PEEK(218) + PEEK(219) *256:II =  PEEK(222): IF II = 255  THEN K = 155: GOTO 540
  81. 832  IF II = 8  AND   NOT  PEEK(888)  THEN  POKE 888,1: POKE 43624,1: POKE 47082,1: RUN 
  82. 835  IF II = 8  AND  PEEK(888)  THEN  PR# 0: VTAB 24: PRINT : PRINT : PRINT  CHR$(7)"DISK OR DRIVE ERROR": GOTO 420
  83. 840  IF II = 11  OR II = 6  THEN  VTAB VP -2: HTAB 1: PRINT "TRACE OVER FILE NAME TO EXECUTE:": END 
  84. 845  IF II = 1  THEN  VTAB VP -2: HTAB 1: PRINT "LANGUAGE NOT AVAILABLE": GOTO 860
  85. 850  TEXT : HOME : VTAB 12: HTAB 13: PRINT "ERROR: ";II: HTAB 13: PRINT "LINE:  ";J
  86. 860  PRINT  CHR$(7);: FOR II = 1 TO 2000: NEXT : GOTO 440
  87. 63999  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>65535<CTRL-M>
  88. 65535  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>==================<CTRL-M>BEAGLE MENU<CTRL-M>BY BERT KERSEY<CTRL-M>COPYRIGHT (C) 1982<CTRL-M>BEAGLE BROS<CTRL-M>==================